package org.jkuang.qstar.index.filter;

import java.nio.charset.Charset;
import java.util.Map;

import org.jkuang.qstar.commons.jni.CurMap;
import org.jkuang.qstar.index.dic.TermsDic;
import org.jkuang.qstar.index.store.DataNode;

/**
 * 
 * 查询过滤器 ,可判定数据是否有效或其他操作
 * 
 * @author jkuang 2012年11月17日
 *
 */
public interface ResultFilter {

	static Charset charset = Charset.forName("utf8");

	/**
	 * 
	 */
	void print();

	/**
	 * 
	 * @return
	 */
	Map<Long, byte[]> result();

	/**
	 * 
	 * @param node       当前符合条件的节点
	 * @param properties 命中当前节点的条件
	 * @param dic        词典句柄
	 * @param data       数据句柄
	 * @return
	 */
	boolean accept(final DataNode node, final TermsDic dic, final CurMap data);

}
